silent <- function(expr) {
  suppressMessages(
    suppressWarnings(
      invisible(
        capture.output(
          expr,
          file = NULL
        )
      )
    )
  )
}
